Method and application for interactive video on demand

ABSTRACT

Method and apparatus for generation of interactive programming. An interactive programming server embeds interactive components into a video signal. The interactive programming server receives content from a content source and interactive components from an interactive component source and uses the content and interactive components to generate an interactive Video On Demand (iVOD) interactive program. The iVOD interactive program is transmitted to a participant who views the content and interacts with the interactive components of the iVOD interactive program. The participant&#39;s responses to the content is transmitted back to the interactive programming server where the participant responses are incorporated into new content which is used to generate new iVOD interactive programming.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.11/323,575, filed Dec. 29, 2005, entitled “METHOD AND APPLICATION FORINTERACTIVE VIDEO ON DEMAND,” which is a continuation of U.S. patentapplication Ser. No. 10/414,863, filed on Apr. 15, 2003, entitled“METHOD AND APPARATUS FOR INTERACTIVE VIDEO ON DEMAND,” now abandoned,which is related to U.S. patent application Ser. No. 10/123,618, filedApr. 15, 2002, entitled “METHOD AND APPARATUS FOR INTERNET-BASEDINTERACTIVE PROGRAMMING,” now abandoned, and U.S. patent applicationSer. No. 10/222,461, filed on Aug. 16, 2002, entitled “METHOD ANDAPPARATUS FOR INTERACTIVE PROGRAMMING USING CAPTIONING,” now abandoned,the entire contents of all of which are incorporated by reference as ifstated fully herein.

BACKGROUND

This invention pertains generally to the field of interactiveprogramming and more specifically to creating interactivevideo-on-demand programming for distribution over a variety ofcommunication media.

Broadcast media, such as television, have traditionally been limited toserial processes where a program is broadcast to a viewer in an audiencewith limited opportunities, such as calling in over a telephone line totalk to a talk show host, for the viewer to participate in the program.The evolution to a more interactive form of broadcast media, or mediawhere the viewer is allowed to participate, has been slow given the lackof bidirectional communication channels between the viewer and theprogram broadcaster.

When bidirectional communication channels are created, viewerparticipation has so far been limited to choosing program content,responding to advertising messages, and answering viewer questionnairesor polls. This is primarily because most interactive programming followsa conventional broadcast program paradigm wherein the programming iswrapped in advertisements; and the only responses needed from anaudience are to view linear pre-recorded programs and to buy advertiseditems or services. Little has been done to fully involve the audience ina rich participatory experience where the audience has as much controland influence over the content of an interactive program as theoriginator of the interactive program. Such limited viewer participationis in contrast to the expectations of some viewers who want a richer andmore satisfying participatory experience within the context of aninteractive program.

Therefore, a need exists for a light-weight interactive programmingsystem allowing for rich viewer participation which is easily integratedwith existing content. The present invention meets such need.

SUMMARY OF THE INVENTION

In one aspect of the invention, an interactive programming server embedsinteractive components into a video signal. The interactive programmingserver receives content from a content source and interactive componentsfrom an interactive component source and uses the content andinteractive components to generate an interactive Video On Demand (iVOD)interactive program. The iVOD interactive program is transmitted througha communications medium to a participant who views the content andinteracts with the interactive components of the iVOD interactiveprogram. The participant's responses to the content is transmitted backto the interactive programming server where the participant responsesare incorporated into new content which is used to generate new iVODinteractive programming.

In another aspect of the invention, the content is a television signalhaving a vertical blanking interval and the interactive program isgenerated by embedding the interactive component in the verticalblanking interval.

In another aspect of the invention, the content is a digital videosignal and generating the interactive program includes encapsulating theinteractive components in a first elementary stream of a digital videobroadcast transport stream and adding the content to a second elementarystream of the video broadcast transport stream.

In another aspect of the invention, the communications medium may be acable television network, a satellite television network, or a wide areanetwork.

In another aspect of the invention, the participant response includes anaudience approval rating of the interactive program.

In another aspect of the invention, the participant response includes ananswer to a poll question.

In another aspect of the invention, the interactive component includesadditional information about the content.

In another aspect of the invention, the interactive component is auniform resource locator of a resource coupled to the interactiveprogramming transceiver through a wide area network. The resource may bea Web site where a participant can complete a commercial transactionsuch as purchasing an advertised product.

In another aspect of the invention, the interactive component includesan advertisement.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of an interactive programming process inaccordance with an exemplary embodiment of the present invention.

FIG. 2 is a block diagram of a system for generating interactiveprogramming for a single two-way communications channel in accordancewith an exemplary embodiment of the present invention.

FIG. 3 is a process flow diagram of an interactive programming serverprocess for generating interactive programming in accordance with anexemplary embodiment of the present invention.

FIG. 4 is a block diagram of an interactive programming server inaccordance with an exemplary embodiment of the present invention.

FIG. 5 is a block diagram of an interactive programming transceiver inaccordance with an exemplary embodiment of the present invention.

FIG. 6 is a deployment diagram depicting embedding interactivecomponents in a digital video broadcast transport stream in accordancewith an exemplary embodiment of the present invention.

FIG. 7 is a process flow diagram of an interactive programming serverprocess used to generate iVOD interactive programming for a digitalvideo broadcast transport stream in accordance with an exemplaryembodiment of the present invention.

FIG. 8 is a deployment diagram depicting embedding interactivecomponents in a television signal using a vertical blanking interval inaccordance with an exemplary embodiment of the present invention.

FIG. 9 is a process flow diagram of an interactive programming serverprocess used to generate iVOD interactive programming in accordance withan exemplary embodiment of the present invention.

FIG. 10 is a deployment diagram of a system for delivering interactiveprogramming wherein the delivery medium is a wide area network inaccordance with an exemplary embodiment of the present invention.

FIG. 11 is a block diagram of a system for generating interactiveprogramming for multiple communications channels in accordance with anexemplary embodiment of the present invention.

FIG. 12 is a deployment diagram of a system for delivering interactiveprogramming wherein a medium for a forward channel is broadcasttelevision and a medium for a back channel is a telephone system inaccordance with an exemplary embodiment of the present invention.

FIG. 13 is a deployment diagram of a system for delivering interactiveprogramming wherein a medium for a forward channel is a satellitetelevision network and a medium for a back channel is either a telephonesystem or a communications network in accordance with an exemplaryembodiment of the present invention.

FIG. 14a is a block diagram of a system for the production ofinteractive programming in accordance with an exemplary embodiment ofthe present invention.

FIG. 14b is a block diagram of a post-production tool for generation ofinteractive programming content and interactive components in accordancewith an exemplary embodiment of the present invention.

FIG. 15 is a diagram of the type of information including in interactivecomponents in accordance with an exemplary embodiment of the presentinvention.

FIG. 16 is a block diagram of iVOD content including interactivefeatures in accordance with an exemplary embodiment of the presentinvention.

FIG. 17 is a block diagram of iVOD interactive programming includingchapter features in accordance with an exemplary embodiment of thepresent invention.

FIG. 18 is a sequence diagram of an iVOD interactive programminggeneration process in accordance with an exemplary embodiment of thepresent invention.

FIG. 19 is a diagram depicting a process for receiving participantreactions to an interactive program and calculating an audience approvalsystem rating for an interactive program in accordance with an exemplaryembodiment of the present invention.

FIG. 20 is a hardware architecture diagram of a data processing systemsuitable for use as an interactive programming host in accordance withan exemplary embodiment of the present invention.

DETAILED DESCRIPTION OF THE INVENTION

FIG. 1 is a block diagram of an interactive programming process inaccordance with an exemplary embodiment of the present invention. Aninteractive programming producer 100 generates media content 102 fortransmission and presentation to a participant 104. The media contentcan be for any purpose, such as for entertainment or educationalpurposes. Associated with the content are interactive components 106that are also transmitted to the participant. The combination of thecontent and associated interactive components are herein termedinteractive programming. In operation, the participant observes thecontent and interacts with the interactive components and theparticipant's interactions 108 are then transmitted back to theproducer.

In this embodiment of an interactive programming process, an interactiveprogramming environment includes two communications channels. In a firstor forward channel, interactive programming is transmitted by a producerto a participant. In a second or back channel, a participant's reactionsto the interactive programming are transmitted from the participant tothe producer. The communications channels may be included in a singlemedium capable of managing high bandwidth communications in twodirections, or may be distributed across multiple media with each mediumproviding a separate portion of the interactive programming in adistributed manner.

FIG. 2 is a block diagram of a system for generating interactiveprogramming for distribution over a single communication medium inaccordance with an exemplary embodiment of the present invention. Aproducer provides media content 102 and specifications for interactivecomponents 106 for processing in an interactive programming server 200.The interactive programming server receives the content andspecifications for interactive components and uses them to generateinteractive programming that is transmitted to an interactiveprogramming transceiver device 202 through a forward channel 203. Theinteractive programming transceiver device separates the content fromthe interactive components of the interactive programming and generatesa content presentation 204 that is presented to a participant. Theparticipant responds to the content presentation and interacts with theinteractive components using a user input device 206 to provideparticipant responses to the interactive programming transceiver whichthen transmits the participant responses to a participant responsereceiver 210 through a back channel 208 included in the same medium asthe forward channel. The participant responses are then transmitted tothe interactive programming server which uses the participant responsesalong with the content and interactive components to generate newinteractive programming that is transmitted to the interactivetransceiver device for presentation to the participant. This process isrepeated continuously as a processing loop 212 to generate a continuoustransmission of interactive programming.

FIG. 3 is a process flow diagram of an interactive programminggeneration process as implemented in an interactive programming serverin accordance with an exemplary embodiment of the present invention. Aninteractive programming server process 310 receives (312) content from acontent source 314 and receives (316) interactive components from aninteractive component source 318. The interactive programming serverprocess combines (320) the content and interactive components to createinteractive programming for transmission to a participant. Theinteractive programming server process then transmits (322) theinteractive programming to the participant.

After a participant interacts with the interactive components of theinteractive programming, the interactive programming server processreceives (324) participant responses 326. The interactive programmingserver then receives (328) additional content from the content sourceand modifies (330) the additional content using the participantresponses. The process then repeats (332) in a loop indefinitely thusproducing a continuous source of interactive programming for use by aparticipant.

FIG. 4 is an architecture diagram of an interactive programming serverin accordance with an exemplary embodiment of the present invention. Aninteractive programming server 200 includes a participant responsecontent generator 333 that generates participant response content usingparticipant responses received by a participant response receiver 210coupled to a back channel included in a communications medium 348. Theparticipant response content is combined with content received from acontent source 314 to create interactive programming content by aninteractive content generator 334. The interactive programming contentis then transmitted to an interactive programming content encoder thatencodes the interactive programming content into a format suitable fortransport through a forward channel in the communications medium. Theinteractive programming server also includes an interactive componentencoder 338 that receives interactive components from an interactivecomponent source 318. The interactive component source includes aplurality of independent data feeds as exemplified by a first data feed339 and a second data feed 340. The data feeds correspond to differingtypes of interactive components that may be used in an interactiveprogram. The interactive component encoder encodes the interactivecomponents into a data format suitable for transport through a forwardchannel in the communications medium. The encoded interactiveprogramming content and encoded interactive components are then combinedby transport medium multiplexer 341 to generate interactive programming342 that is ultimately transmitted to the participant throughcommunications medium.

In one interactive programming server in accordance with an exemplaryembodiment of the present invention, the output of the interactiveprogramming content encoder is a MPEG-2 encoded data stream. The outputof the interactive component encoder is an UDP/IP data stream. Thesedata streams are received by the transport multiplexer that generatesthe interactive programming by encapsulating the UDP/IP data streamalong with the MPEG-2 data stream for inclusion in a Digital VideoBroadcast (DVB) transport stream. A suitable commercially availabletransport multiplexer is a model TMX-2010 Transport Multiplexeravailable from Motorola, Inc. of Schaumburg Ill., USA.

In other interactive programming servers in accordance with exemplaryembodiments of the present invention, other transport multiplexers maybe used. For example, transport multiplexers accepting inputs in theform of MPEG-4 streams or transport multiplexers generating a transportstream suitable for transmission using the DOCSIS standard may also beused.

FIG. 5 is a block diagram of an interactive programming transceiver inaccordance with an exemplary embodiment of the present invention. Aninteractive transceiver 202 includes a transport medium demultiplexer352 that receives interactive programming from a forward channelincluded in a communications medium 348. The transport mediumdemultiplexer separates the content and interactive components of aninteractive program. The content is transmitted to a content decoder 358that decodes the content into a format suitable for internalrepresentation of the content for further processing. The interactivecomponents of the interactive program are transmitted to a systemcontroller 360. The system controller uses the interactive components togenerate participant interface content that may be recombined with thedecoded content in a content processor 362. The decoded content and anycombined participant interface content are then transmitted to apresentation device encoder 364 that encodes the decoded content and anycombined participant interface content into a format suitable fortransmission to a presentation device 366.

The system controller is also coupled to a peripheral interface 368having a user input device controller 370 for reception of participantresponses transmitted by a user input device 372. A participant uses theuser input device to transmit the participant's response to thepresentation of the content. The system controller receives theparticipant's responses and uses a data communication interface 374having a first communication device 376 to transmit the participantresponses to the interactive programming server through a back channelincluded in the communications medium. Alternatively, the communicationsdevice may transmit the participant responses to the interactiveprogramming server through a separate back channel communications medium378. A suitable commercially available interactive programmingtransceiver is a DCT2000 set-top terminal available from Motorola, Inc.of Schaumburg Ill., USA.

FIG. 6 is a deployment diagram depicting embedding interactivecomponents in a DVB transport stream in accordance with an exemplaryembodiment of the present invention. An interactive programming host 400is coupled to a content source 408 and an interactive component source410 as previously described. An interactive programming server 406hosted by the interactive programming host embeds interactive componentsfrom the interactive component source into a DVB transport stream signal636. The DVB transport stream includes a plurality of elementarystreams, with each elementary stream corresponding to a separateprogram. In one embodiment of interactive programming in accordance withan exemplary embodiment of the present invention, the interactivecomponents are included in a first elementary stream 638 while theinteractive programming content is included in a second elementarystream 640.

Once the interactive programming server has generated the interactiveprogramming, the interactive programming host uses a DVB networkinterface or cable head 630 to transmit the interactive programming overa DVB network 632 to a participant's digital set-top box 634. The DVBsignal is received by the set-top box and the interactive programmingcontent and interactive components are separated out of the DVBtransport stream and processed as previously described.

FIG. 7 is a process flow diagram of an interactive programming serverprocess used to generate iVOD interactive programming for a DVBtransport stream in accordance with an exemplary embodiment of thepresent invention. An interactive programming server process 648receives (650) content from a content source 408 and receives (652)interactive components from an interactive component source 410. Theinteractive programming server process converts the content into adigital video signal and encapsulates the interactive components into aDVB transport stream to generate (654) iVOD interactive programming. Theinteractive programming server process then transmits (656) the iVODinteractive programming to the participant.

After a participant interacts with the interactive components of theiVOD interactive programming, the interactive programming serverreceives (658) participant responses 618. The interactive programmingserver then receives (660) additional content from the content sourceand modifies (662) the content using the participant responses. Theprocess then repeats (664) in a loop indefinitely thus producingcontinuous source of iVOD interactive programming for use by aparticipant.

FIG. 8 is a deployment diagram depicting a system using interactivecomponents embedded in a vertical blanking interval of a televisionsignal in accordance with an exemplary embodiment of the presentinvention. An interactive programming host 400 is coupled to a contentsource 408 and an interactive component source 410 as previouslydescribed. An interactive programming server 406 hosted by theinteractive programming host embeds interactive components from theinteractive component source into a Vertical Blanking Interval (VBI) ofa television signal 500 in text fields that are specified in a VBIencoding standard. In one embodiment of interactive programming inaccordance with an exemplary embodiment of the present invention, theinteractive components are included in a first field 504 and a secondfield 506. The first field includes a first captioning info illation 508and a second captioning information 510 text stream. Field 2 includes athird captioning information 512 and a fourth captioning information 514text string as well as eXtended Data Service (XDS) information 516encoded in a series of packets. The fields are described in table 1a andtable 1b below.

TABLE 1a Field 1 Packets Data Name Field Channel Description CC1 1 1Primary Synchronous Caption Service CC2 1 2 Special Non-Synchronous UseCaptions T1 1 1 First Text Service T2 1 2 Second Text Service

TABLE 1b Field 2 Packets Name Field Data Channel Description CC3 2 1Secondary Synchronous Caption Service CC4 2 2 Special Non-SynchronousUse Captions T3 2 1 Third Text Service T4 2 2 Fourth Text Service XDSeXtended Data Services

There are several different classes of XDS packets encapsulatinginformation about a broadcast program. For example, defined XDS packetclasses include Current Class (information about the current programsuch as the title, length, rating, elapsed time, audio services, captionservices, and aspect ratio), Future Class (the same information for anupcoming program), Channel Information Class (information such as thenetwork name, station call letters, native channel number and tapedelay), Miscellaneous Class (containing the time of day and the localtime zone) and Public Service Class (severe weather warnings). Inaddition, Reserved and Undefined Classes are set aside for futureexpansion and proprietary applications.

A complete definition of a XDS packets may be found in RecommendedPractice for Line 21 Data Service, Electronics Industries Association,EIA-608 (drafts Oct. 12, 1992 and Jun. 17, 1993).

The text fields may also be used to encode links to other types of data.For example, if the interactive programming system includes an InternetProtocol (IP) back channel, the links may be in the form of UniformResource Locators (URLs). Such a link is herein termed a “trigger”. Inone interactive programming system in accordance with an exemplaryembodiment of the present invention, a trigger 518 includes a URL fieldfor specifying the URL of a resource in an IP network, a type field forspecifying what type of network is used to access the URL, a name fieldfor a display name used for the resource, a version field for specifyingthe version of the trigger, and a check sum field used to confirm thatthe trigger was accurately transmitted to a participant's STB 432.

Once the interactive programming server has generated the interactiveprogramming, the interactive programming host uses a cable televisionnetwork interface 430 to transmit the interactive programming to theparticipant's STB.

FIG. 9 is a block diagram of an interactive programming server processused to generate iVOD interactive programming in accordance with anexemplary embodiment of the present invention. An interactiveprogramming server process 600 receives (601) content from a contentsource 408 and receives (602) interactive components from an interactivecomponent source 410. The interactive programming server processconverts the content into a television signal and embeds (604) theinteractive components into the VBI of the television signal to generateiVOD interactive programming. The interactive programming server processthen transmits 606 the iVOD interactive programming to the participant.

After a participant interacts with the interactive components of theiVOD interactive programming, the interactive programming serverreceives (617) participant responses 618. The interactive programmingserver then receives (620) additional content from the content sourceand modifies (622) the content using the participant responses. Theprocess then repeats (624) in a loop indefinitely thus producingcontinuous source of iVOD interactive programming for use by aparticipant.

FIG. 10 is a deployment diagram of a system for delivering interactiveprogramming wherein the delivery medium is a wide area network inaccordance with an exemplary embodiment of the present invention. Aninteractive programming server 200 is hosted by an interactiveprogramming host 400 that is operably coupled to a communicationsnetwork 402. A participant host 422 coupled to the communicationsnetwork hosts a participant client 424. In the case where thecommunications network is the Internet, the participant client may be aWeb browser or other client capable of communicating using the IP suiteof communications protocols. In such a system, the Internet is a mediumincluding both a forward channel used to transmit interactiveprogramming to a participant 104 and a back channel used to transmitparticipant responses back to the interactive programming server.

FIG. 11 is a block diagram of a system for generating interactiveprogramming for multiple communications channels in accordance with anexemplary embodiment of the present invention. In this system, contentpresentation functions and user input functions of an interactiveprogramming transceiver as illustrated in FIG. 2 are separated anddistributed across more than one device, with each device having its owncommunication medium. As previously described, a content producerprovides content 102 and interactive components 106 to an interactiveprogramming server 200 as before. However, instead of generatinginteractive programming including both content and interactiveprogramming, the interactive programming server generates interactiveprogramming content for transmission through a forward channel 201 to acontent receiver 300. The content receiver receives the content andgenerates a content presentation 204 for presentation to a participant.The participant uses a separate communications device to transmitparticipant responses through a back channel 208 to the participantresponse receiver 210 for use by the interactive programming server ingenerating new interactive programming in an iterative process. Thus, aninteractive programming loop 212 may be maintained by coordination ofthe transmission of content through a forward channel to a participantand receiving participant responses to the content through a backchannel wherein the forward and back channels are carried by differentmedia.

FIG. 12 is a deployment diagram of a system for delivering interactiveprogramming wherein a medium for a forward channel is broadcasttelevision and a medium for a back channel is a telephone system inaccordance with an exemplary embodiment of the present invention. Asnoted previously, multiple communications media may be used to transmitinteractive programming to a participant through a forward channel andreceive resultant participant responses through a back channel. In thisconfiguration, the interactive programming host is coupled to aparticipant television 426 through a broadcast television network 446 bya broadcast television network interface 448. The interactiveprogramming server may then use the broadcast television network totransmit interactive programming to the participant television.

The interactive programming host is also coupled to a telephone network443 by a telephone network interface 444. As such, the interactiveprogramming server may receive participant responses from theparticipant using a participant telephone 440 through the telephonenetwork. In this system, the back channel for participant responses iscarried on the telephone network communications medium.

In one embodiment of interactive programming in accordance with anexemplary embodiment of the present invention, the interactiveprogramming is associated with its own telephone extension number. Inthis embodiment of interactive programming, a participant dials atelephone number to access a Private Branch eXchange (PBX) telephonesystem and then the participant enters the extension number associatedwith the interactive program.

FIG. 13 is a deployment diagram of a system for delivering interactiveprogramming wherein a medium for a forward channel is a satellitetelevision network and a medium for a back channel is either a telephonesystem or a communications network in accordance with an exemplaryembodiment of the present invention. In this system, the interactiveprogramming host 400 is coupled to a participant television 426 througha satellite television network 1300 by a satellite television networkinterface 1302. The interactive programming server may then use thesatellite television network to transmit interactive programming to theparticipant television through a satellite television network STB 1304.

The interactive programming host is also coupled to a telephone networkby a telephone network interface 444. The satellite television networkSTB uses the telephone network to transmit participant responses to theinteractive programming host. In this system, the back channel forparticipant responses is carried on the telephone network communicationsmedium.

In another system for delivering interactive programming wherein amedium for a forward channel is satellite television network inaccordance with an exemplary embodiment of the present invention, theback channel is a communications network, such as wide area network 402.In this system, the interactive programming host is coupled to thecommunications network and the satellite television network STBtransmits participant responses to the interactive programming host viathe communications network.

FIG. 14a is a block diagram of a system for the production ofinteractive programming in accordance with an exemplary embodiment ofthe present invention. The system provides user interface featuresallowing an interactive programming producer 100 to produce interactiveprogramming for transmission to a participant. The system includes aninteractive programming host 400 coupled to a communications network 402such as the Internet. The interactive programming host hosts a userinterface server 404 for management of user interfaces used by both theparticipant and the producer. The interactive programming host alsohosts an interactive programming server 200 for generation ofinteractive programming using content from a content source 314 andinteractive components from an interactive component source 318. Theinteractive programming host is further coupled to a database 412 forstorage of information about participants 414 and information aboutproducers 416. As the interactive programming host is coupled to acommunications network, a producer may access the user interface serverusing the communications network and a producer client 418 hosted by aproducer host 420.

In operation, the producer uses the producer client to access the userinterface server via the communications network. Through a series ofuser interactions, the producer configures an interactive program byspecifying content and interactive components. The interactiveprogramming is then transmitted by the interactive programming server toa participant using a forward channel as previously described. Theparticipant transmits participant responses back to the interactiveprogramming server via a back channel as previously described. Theinteractive programming host may be coupled to multiple communicationsmedia which carry forward channels and back channels in variouscombinations.

The above described interactive programming systems may be used todeliver interactive programming having a variety of different purposesand structures. In one interactive programming system in accordance withan exemplary embodiment of the present invention, the interactiveprogramming system is used to distribute interactive programming in theform of talk shows. Such an interactive programming system is more fullydescribed in U.S. patent application Ser. No. 10/123,618, entitled“METHOD AND APPARATUS FOR INTERNET-BASED INTERACTIVE PROGRAMMING” andU.S. patent application Ser. No. 10/222,461, entitled “METHOD ANDAPPARATUS FOR INTERACTIVE PROGRAMMING USING CAPTIONING”. One feature ofthe interactive programming system used to generate and distribute talkshows is that creators of the talk shows may archive their talk showsfor later presentation in “on-demand” style formats includinginteractive Video On Demand (iVOD). Other interactive programmingcontent sources may include any programming source. For example,entertainment programs, educational programs, and political talk showscan be enhanced to create iVOD interactive programming.

iVOD is a medium that exploits the ability to embed interactivecomponents in a television or video signal. For an analog televisionsignal, a Vertical Blanking Interval (VBI) is used to embed interactivecomponents in the television signal. The interactive components may beincluded in closed captioning text streams that are part of the VBI inthe television signal. For a digital video signal, the interactivecomponents are embedded as in the transport medium along withinteractive programming content.

FIG. 14b is a block diagram of a software tool for generation ofinteractive programming content and interactive components in accordancewith an exemplary embodiment of the present invention. Production of theinteractive programming is a multistep process. A producer 100 obtainspreviously produced programming 1400 and adds additional programming1402 to generate content 102 and interactive components 106 using apost-production tool 1404. The post-production tool allows the producerto edit the previously produced programming and synchronize theadditional programming to the previously produced programming asembedded interactive components. Once the content and interactiveprogramming are generated, they may be stored and distributed to theparticipant in an “on-demand” mode through various distribution channelsand broadcast media.

The post-production tool provides a variety of services to the producersuch as separate audio and text tracks with embedded time codes that maybe synchronized with the content. The post-production tool may also beused to combine additional programming with the previously producedprogramming as a video signal embedded in the content. In addition, thepost-production tool allows the creation of interactive components, suchas polls that offer two, three, or four choice formats with a simpletext entry user interface. Finally, the post-production tool allows thecreation of time coded tcommerce links for product placement as aninteractive component.

FIG. 15 is a diagram of the type of information including an interactivecomponents in accordance with an exemplary embodiment of the presentinvention. The interactive components may include multiple datafeedsthat are synchronized with the content of an interactive program. In theexample, the content is included as a transcript 607 in order toillustrate synchronization of the datafeeds with the content. A firstdatafeed 608 includes “pop-up facts” about the subject matter of thecontent. A second datafeed 610 includes additional information about thesubject matter of the content. A third data feed 612 includes commentsand poll results from participants in the interactive programming. Afourth datafeed 614 includes proposals for commercial transactions. Eachof the datafeeds may either include information directly or may includelinks as triggers to other data resources as previously described.

FIG. 16 is a block diagram of iVOD content including interactivefeatures in accordance with an exemplary embodiment of the presentinvention. iVOD content served by an interactive programming host can beaccessed by a viewer over a communications network, a computer network,a satellite television network, or a cable television network. The useof a television signal provides the capability to embed the interactiveprogramming components of the interactive programming in a verticalblanking interval of the television signal as well as captioninginformation as previously described. For example, as illustrated intable 1a above, captioning information may be included in the CC1, CC2,CC3, and CC4 field. In accordance with an exemplary embodiment of thepresent invention, an iVOD interactive program includes a content signal700 and a plurality of interactive components embedded in the CC1, CC2,CC3, and CC4 fields. In this exemplary iVOD interactive program, the CC1field 702 includes a standard transcript 704 while the CC2 field 705includes additional information 706 about a subject of the interactiveprogramming content signal, and the CC3 field 707 and the CC4 field 710include commerce or “tcommerce” links 708 such or trigger 712 includingURLs to eCommerce locations on the Internet. In this way, a producer canprovide additional enhanced content to a viewer of previously producedinteractive programming.

In addition to the interactive components embedded in the CC fields, theinteractive program further includes a field or “ticker” 714 for displayof information that is constantly updated based on participant responsesto the iVOD content. This ticker can include information such asaudience approval ratings for the iVOD program and participant pollingresponses.

FIG. 17 is a block diagram of iVOD interactive programming includingchapter features in accordance with an exemplary embodiment of thepresent invention. A chapter feature 800 of the iVOD interactiveprogramming is used by a participant to select portions of iVODinteractive programming served by an interactive programming server thata participant may wish to participate in. A chapter feature includes achapter menu 800 that is presented to a participant. The chapter menuincludes a plurality of selectable chapter icons, such as chapter icons802, 804, and 806. A participant selects a chapter icon and theparticipant's selection 808 is transmitted back to the interactiveprogramming server which then transmits a chapter portion 810 of theiVOD interactive programming back to the participant for viewing. In alike manner, chapter icon 804 corresponds to iVOD interactiveprogramming chapter portion 812 and chapter icon 806 corresponds to iVODinteractive programming chapter portion 814.

In one embodiment of iVOD interactive programming, a participant uses aguest selector 816 to search for iVOD programming generated for aparticular subject such as a talk show featuring a particular guest. Theparticipant can access programming for a particular interview guest byselecting a pull down menu 820 listing the names of guests. Onceselected, the guest name appears in a guest name field 818 and iVODinteractive programming is made available to the participant wherein theiVOD interactive programming features the guest. iVOD interactiveprogramming may also be searched for having other features. For example,iVOD interactive programming may be proposed for a participant knowingthat some participants searched for a particular guest also searched foranother related guest. As another example, the iVOD interactiveprogramming may be searched for specific events such as unexpected ornotable statements by guests during a talk show. As another example,participants may select iVOD programming from a list of “top-ten”programming segments.

FIG. 18 is a sequence diagram of an iVOD interactive programminggeneration process in accordance with an exemplary embodiment of thepresent invention. A participant uses a participant STB 432 to access aninteractive programming host 400 and transmits a request 920 for iVODinteractive programming. The interactive programming host accessescontent from a content source 408 including chapter information andretrieves chapter information 922 for the requested iVOD interactiveprogramming. The interactive programming host uses the chapterinformation to generate a chapter menu 900 having a list of selectablechapters as previously described. The user makes a chapter selection 928from the chapter menu using the participant STB and transmits thechapter selection back to the interactive programming host. Theinteractive programming host uses the chapter selection to access andretrieve iVOD interactive programming content 930 and interactivecomponents 934 from an interactive component source 410. The interactiveprogramming server uses the content and interactive components togenerate (938) an iVOD interactive programming signal 940 that istransmitted to the participant STB for viewing by the participant. Theparticipant STB receives participant responses 944 to the contentportion of the iVOD interactive programming and transmits theparticipant responses 946 to the interactive programming host. If aparticipant selects a link from a trigger to a commerce site, theparticipant STB transmits a request 948 to the commercial site asspecified in the trigger.

The types of interactive components that may be included in iVODinteractive programming varies depending on the desires of a producer.In one iVOD interactive program in accordance with an exemplaryembodiment of the present invention, a producer may include participantpolls in a datafeed of the interactive components. Participants mayanswer the poll and the interactive programming host tabulates theparticipant's responses and includes them in the content portion of theinteractive programming as a “ticker” that is constantly updated.

In another iVOD interactive program in accordance with an exemplaryembodiment of the present invention, a producer may embed “Easter eggs”in the interactive components of an iVOD interactive program. Aparticipant looks for the Easter eggs and once found, the Easter eggsunlock special features like audio messages from a producer or a chanceto win a prize from a sponsor. In addition, participants may visit a Website to get information on how to unlock special bonus material inexchange for registration information or viewing an advertisement.

In another iVOD interactive program in accordance with an exemplaryembodiment of the present invention, a producer may include archivalhistorical footage related to a specific iVOD interactive program.

In another iVOD interactive program in accordance with an exemplaryembodiment of the present invention, a producer may include oppositionrunning commentary. For example, an opposing view point may be presentedduring a politically oriented iVOD interactive program.

In another iVOD interactive program in accordance with an exemplaryembodiment of the present invention, a producer may include on-camerapre-screening interviews of talk show guests.

In another iVOD interactive program in accordance with an exemplaryembodiment of the present invention, a producer may include diagrams ofa particular structure being discussed, such as diagrams ofarchitecturally significant buildings during a presentation onarchitecture.

In another iVOD interactive program in accordance with an exemplaryembodiment of the present invention, a producer may include behind-thescenes footage of the production of the iVOD interactive program.

In another iVOD interactive program in accordance with an exemplaryembodiment of the present invention, a producer may include featurettessuch as a documentary on a day in the life of a celebrity.

In another iVOD interactive program in accordance with an exemplaryembodiment of the present invention, a producer may include triggersused for television Commerce (tCommerce) transactions.

In another iVOD interactive program in accordance with an exemplaryembodiment of the present invention, a producer may includeadvertisements that a participant may view at their discretion. Inaddition, the advertisements may be linked to other information ortCommerce sites through the use of triggers.

In another iVOD interactive program in accordance with an exemplaryembodiment of the present invention, a producer may include pop-uptrivia facts including questions that a participant may answer. Answersfrom a plurality of participants may be collected as participantresponses by the interactive programming server and scored so that aparticipant can see how the participant's performance in answering thequestions compared to other participants.

FIG. 19 is a diagram depicting a process for receiving participantreactions to an interactive program and calculating an audience approvalsystem rating for an interactive program in accordance with an exemplaryembodiment of the present invention. A producer 100 generates aninteractive program and transmits the interactive program to a pluralityof participants as exemplified by participants 1100, 1102 and 1103. Eachparticipant may have a different opinion of the quality of theinteractive program; therefore, each participant is provided with anindividual audience approval system button as exemplified by audienceapproval system buttons 1106, 1108, and 1110. Each participant selectsan audience approval system rating button corresponding to theparticipant's subjective rating of the interactive program. Theselection of an audience approval system button transmits acorresponding audience approval system signal to the interactiveprogramming host (not shown) thus creating a plurality of audienceapproval system signals for evaluation by the interactive programminghost. The interactive programming host receives the plurality ofaudience approval system signals and uses them to generate a singleaudience approval system rating signal and transmits the audienceapproval system rating signal for display with the interactiveprogramming content.

In an audience approval system in accordance with an exemplaryembodiment of the present invention, an audience approval system signalcan take on three states, 1112, 1114, and 1116, with each staterepresenting a participant's subjective opinion of the interactiveprogram. In this embodiment, the three states are mapped to thecorresponding numeric values of “100”, “50”, and “0”, with “100”representing a participant's complete satisfaction with the interactiveprogram, “50” representing the participant's partial satisfaction withthe interactive program, and “0” representing the participant's completedissatisfaction with the interactive program. Each of the plurality ofaudience approval system signals are mapped to one of these numericvalues. These numeric values are used to generate an arithmetic meanrepresenting the audience approval system rating of the interactiveprogram. In the illustrated example of FIG. 11, participant 1100 ratesthe interactive program at “100”, participant 1102 rates the interactiveprogram at “50”, and participant 1104 rates the interactive program at“100”. These values are used by the interactive programming host togenerate (1118) an arithmetic mean 1120 of the plurality of mappedparticipants' audience approval system signals. The arithmetic mean ispresented to the participants as the audience approval system rating ofthe producer's interactive program. In one audience approval system inaccordance with an exemplary embodiment of the present invention, theaudience approval system rating is mapped to a color, with the numericvalue of “100” being represented in green, the numeric value of “50”being represented in yellow, and the numeric value of “0” beingrepresented in red.

FIG. 20 is a hardware architecture diagram of a data processing systemsuitable for use as an interactive programming host in accordance withan exemplary embodiment of the present invention. A data processingsystem includes a processor 1200 operatively coupled via a system bus1202 to a main memory 1204 and an I/O control unit 1206. The I/Ointerface control unit is operatively coupled via an I/O local bus 1208to a storage controller 1210, and a network communications controller1212. A communications device 1214 is operatively coupled to the networkcommunications controller and is adapted to allow software objectshosted by the data processing system to communicate via a network withother software objects.

The storage controller is operatively coupled to a storage device 1216.Computer program instructions 1218 implementing an interactiveprogramming server are stored on the disk storage device until theprocessor retrieves the computer program instructions and stores them inthe main memory. The processor then executes the computer programinstructions stored in the main memory to implement the interactiveprogramming server.

Although this invention has been described in certain specificembodiments, many additional modifications and variations would beapparent to those skilled in the art. It is therefore to be understoodthat this invention may be practiced otherwise than as specificallydescribed. Thus, the present embodiments of the invention should beconsidered in all respects as illustrative and not restrictive, thescope of the invention to be determined by any claims supportable bythis application and the claims' equivalents.

What is claimed is:
 1. A method performed by one or more servers, themethod comprising: generating first interactive programming for aproducer, the first interactive programming including first content anda first interactive component associated with the first content, thefirst content including at least one of media and text; providing thefirst interactive programming to a producer client to cause the producerclient to present the first content and the first interactive componenttogether at a display of the producer client and to a plurality ofparticipant devices to cause each of the participant devices to presentthe first content and the first interactive component together at adisplay of the participant device; receiving from at least one of theplurality of participant devices a participant response to the firstinteractive programming; generating second interactive programming forthe producer based on the participant response to the first interactiveprogramming, wherein the second interactive programming includes secondcontent and a second interactive component associated with the secondcontent, the second content includes at least one of media and text, andthe second content includes the response to the first interactiveprogramming; and providing the second interactive programming to theproducer client to cause the producer client to present the secondcontent and the second interactive component together at the display ofthe producer client and to each of the plurality of participant devicesto cause each of the participant devices to present the second contentand the second interactive component together at the display of theparticipant device.
 2. The method of claim 1, wherein the first contentis a television signal having a vertical blanking interval and thegenerating of the first interactive programming comprises embedding theat least one interactive component associated with the first content inthe vertical blanking interval.
 3. The method of claim 1, wherein thefirst content is a digital video signal and the generating of the firstinteractive programming further includes: encapsulating the at least oneinteractive component associated with the first content in a firstelementary stream of a digital video broadcast transport stream; andadding the first content to a second elementary stream of the videobroadcast transport stream.
 4. The method of claim 1, wherein the firstinteractive programming and the second interactive programming areprovided to the plurality of participant devices in a forward channel ofa communications medium and the participant response to the firstinteractive programming is received in a back channel of thecommunications medium.
 5. The method of claim 4, wherein thecommunications medium is a cable television network.
 6. The method ofclaim 4, wherein the communications medium is a wide area network. 7.The method of claim 1, wherein the first interactive programming and thesecond interactive programming are provided to the plurality ofparticipant devices in a forward channel of a first communication mediumand the participant response to the first interactive programming isreceived by a back channel of a second communications medium.
 8. Themethod of claim 7, wherein the first communications medium is asatellite television network.
 9. The method of claim 7, wherein thesecond communications medium is a wide area network.
 10. The method ofclaim 7, wherein the second communications medium is a telephonenetwork.
 11. The method of claim 1, wherein the participant response tothe first interactive programming includes an audience approval rating.12. The method of claim 1, wherein the participant response to the firstinteractive programming includes an answer to a poll question.
 13. Themethod of claim 1, wherein the interactive component associated with thefirst content includes additional information about the first content.14. The method of claim 1, wherein the interactive component associatedwith the first content is a uniform resource locator of a resource of awide area network.
 15. The method of claim 1, wherein the interactivecomponent associated with the first content includes an advertisement.16. The method of claim 1, further comprising: receiving from at leastone of the plurality of participant devices a participant response tothe second interactive programming; generating third interactiveprogramming based on the participant response to the second interactiveprogramming, wherein the third interactive programming includes thirdcontent and a third interactive component associated with the thirdcontent, the third content includes at least one of media and text, andthe third content includes the response to the second interactiveprogramming; and providing the third interactive programming to theproducer client to cause the producer client to present the thirdcontent and the third interactive component together at the display ofthe producer client and to each of the plurality of participant devicesto cause each of the participant devices to present the third contentand the third interactive component together at the display of theparticipant device.
 17. The method of claim 1, further comprisingproviding to a first one of the plurality of participant devices aproposal that third interactive programming be provided to the first oneof the plurality of participant devices based on searches performed byparticipants operating one or more of the plurality of participantdevices other than the first one of the plurality of participantdevices.
 18. The method of claim 1, wherein each of the first contentand the second content include at least one of audio and video.
 19. Asystem, comprising: one or more servers, each of the one or more serversincluding a hardware processor, a hardware memory, and programinstructions stored in the memory and executable by the processor tocause the one or more servers to: generate first interactive programmingfor a producer, the first interactive programming including firstcontent and a first interactive component associated with the firstcontent, the first content including at least one of media and text;provide the first interactive programming to a producer client to causethe producer client to present the first content and the firstinteractive component together at a display of the producer client andto a plurality of participant devices to cause each of the participantdevices to present the first content and the first interactive componenttogether at a display of the participant device; receive from at leastone of the plurality of participant devices a participant response tothe first interactive programming; generate second interactiveprogramming for the producer based on the participant response to thefirst interactive programming, wherein the second interactiveprogramming includes second content and a second interactive componentassociated with the second content, the second content includes at leastone of media and text, and the second content includes the response tothe first interactive programming; and provide the second interactiveprogramming to the producer client to cause the producer client topresent the second content and the second interactive component togetherat the display of the producer client and to each of the plurality ofparticipant devices to cause each of the participant devices to presentthe second content and the second interactive component together at thedisplay of the participant device.
 20. The system of claim 19, whereinthe first content is a television signal having a vertical blankinginterval and the generating of the first interactive programmingcomprises embedding the at least one interactive component associatedwith the first content in the vertical blanking interval.
 21. The systemof claim 19, wherein the first content is a digital video signal and thegenerating of the first interactive programming further includes:encapsulating the at least one interactive component associated with thefirst content in a first elementary stream of a digital video broadcasttransport stream; and adding the first content to a second elementarystream of the video broadcast transport stream.
 22. The system of claim19, wherein the first interactive programming and the second interactiveprogramming are provided to the plurality of participant devices in aforward channel of a communications medium and the participant responseto the first interactive programming is received in a back channel ofthe communications medium.
 23. The system of claim 22, wherein thecommunications medium is a cable television network.
 24. The system ofclaim 22, wherein the communications medium is a wide area network. 25.The system of claim 19, wherein the first interactive programming andthe second interactive programming are provided to the plurality ofparticipant devices in a forward channel of a first communicationsmedium and the participant response to the first interactive programmingis received in a back channel of a second communications medium.
 26. Thesystem of claim 25, wherein the first communications medium is asatellite television network.
 27. The system of claim 25, wherein thesecond communications medium is a wide area network.
 28. The system ofclaim 25, wherein the second communications medium is a telephonenetwork.
 29. The system of claim 19, wherein the participant response tothe first interactive programming includes an audience approval rating.30. The system of claim 19, wherein the participant response to thefirst interactive programming includes an answer to a poll question. 31.The system of claim 19, wherein the interactive component associatedwith the first content includes additional information about the firstcontent.
 32. The system of claim 19, wherein the interactive componentassociated with the first content is a uniform resource locator of aresource of a wide area network.
 33. The system of claim 19, wherein theinteractive component associated with the first content includes anadvertisement.
 34. The system of claim 19, wherein the programinstructions stored in the memory and executable by the processor ofeach of the one or more servers further cause the one or more serversto: receive from at least one of the plurality of participant devices aparticipant response to the second interactive programming; generatethird interactive programming based on the participant response to thesecond interactive programming, wherein the third interactiveprogramming includes third content and a third interactive componentassociated with the third content, the third content includes at leastone of media and text, and the third content includes the response tothe second interactive programming; and provide the third interactiveprogramming to the producer client to cause the producer client topresent the third content and the third interactive component togetherat the display of the producer client and to each of the plurality ofparticipant devices to cause each of the participant devices to presentthe third content and the third interactive component together at thedisplay of the participant device.
 35. The system of claim 19, whereinthe program instructions stored in the memory and executable by theprocessor of each of the one or more servers further cause the one ormore servers to provide to a first one of the plurality of participantdevices a proposal that third interactive programming be provided to thefirst one of the plurality of participant devices based on searchesperformed by participants operating one or more of the plurality ofparticipant devices other than the first one of the plurality ofparticipant devices.
 36. The system of claim 19, wherein each of thefirst content and the second content include at least one of audio andvideo.